﻿using System;

namespace YUMI.GIS.Interfaces
{
    /// <summary>
    /// 为所有的Geometry对象定义了基本属性和方法。所有Geometry对象必须支持此接口。
    /// </summary>
    public interface IKGeometry : IKTopologicalOperator, IKRelationalOperator, ICloneable, IDisposable, IKTransform2D, IKHitTest, IKSerialize
    {
        /// <summary>
        /// 返回几何对象的范围(克隆)。
        /// </summary>
        IKEnvelope Envelope { get; }

        /// <summary>
        /// 几何类型
        /// </summary>
        KGeometryType GeometryType
        {
            get;
        }

        /// <summary>
        /// 获取或设置几何对象是否为空。几何对象为空表示为坐标空间中的一个空点集。
        /// </summary>
        bool IsEmpty
        {
            get;
            set;
        }

        /// <summary>
        /// 维数
        /// </summary>
        KGeometryDimension Dimension
        {
            get;
        }
    }
}
